iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
Software Development

關於我轉生變成 Go 初學者的這檔事系列 第 23

Day23-[第二十二站 : Go 輸出的奧秘,Output最後的波紋]<GOO~

  • 分享至 

  • xImage
  •  

前言

已經來到第二十三天,同時也是我們的第二十二站,沒想到已經離最終站不到十站,所以我今天要跟大家分享算是最後一個關於 Go 的知識,因為後面要開始做 DC bot 跟前端了,還是老樣子我們出發吧!

Go Output 介紹

輸出的奧秘

Go 共有三個輸出函數分別是,每個輸出函數各有特色

  • Print()
  • Println()
  • Printf()

Print()

會直接以默認的格式印出值,以下為程式碼

package main
import ("fmt")

func main() {
  var i string = "Hello"
  var j int = 3
  var k float64 = 3.9
  var l bool = true
  
  fmt.Print(i)
  fmt.Print(j)
  fmt.Print(k)
  fmt.Print(l)
}

輸出結果
https://ithelp.ithome.com.tw/upload/images/20231003/20161224p9mm9LrLCI.png

看到輸出時你會覺得怎麼看起來怪怪的,這是因為你沒有使用空格或是空行,如以下修改

package main
import ("fmt")

func main() {
  var i string = "Hello"
  var j int = 3 
  var k float64 = 3.9 
  var l bool = true 
  
  fmt.Print(i," ")
  fmt.Print(j," ")
  fmt.Print(k," ")
  fmt.Print(l," ")
}

輸出結果
https://ithelp.ithome.com.tw/upload/images/20231003/20161224rtfNVehjBh.png

是不是變得更加清楚了呢~還有如果你想要空行的話,而不是空格的話也可以,請用以下的程式碼

package main
import ("fmt")

func main() {
  var i string = "Hello"
  var j int = 3 
  var k float64 = 3.9 
  var l bool = true 
  
  fmt.Print(i,"\n")
  fmt.Print(j,"\n")
  fmt.Print(k,"\n")
  fmt.Print(l,"\n")
}

輸出結果
https://ithelp.ithome.com.tw/upload/images/20231003/20161224N6fSjr13NQ.png

所以只要 fmt.Print(XX,"\n")就會空行

Println()

Println() 雖然與 Print() 類似,不過還是有些許的不同之處,它們的不同之處就在於數值之間添加空格,並在末尾添加自動換行

package main
import ("fmt")

func main() {
  var i,j string = "Hello","World"

  fmt.Println(i)
  fmt.Println(j)
}

可以注意到它的 fmt.Println(i)的 i 後面並不需要加(,"\n")或是(," ")這樣的格式,它就已經會自動換行而且也會自動空格,這就是它的方便之處

Printf()

Printf() 函數需給予輸出的類別還有輸出的值,然後打印它們。

  • %v 用於打印輸出的值
  • %T 用於打印輸出的類型
  • %d 二進位輸出格式
  • %x 十六進位格式
  • %f 輸出格式為浮點數
  • %s 輸出為字串格式

程式碼範例

package main
import ("fmt")

func main() {
  var i string = "Hello"
  var j int = 15
  var k float64 = 3.14159
  
  fmt.Printf("i has value: %v and type: %T\n", i, i)
  fmt.Printf("j has value: %v and type: %T\n", j, j)
  fmt.Printf("k has value: %v and type: %T", k, k)
}

結語&預告

以上是 Go 的 Output 的知識,那大家準備好要期末專題了嗎? 請轉移到我們的下一站~~ DC Bot !!!!!!!!

下一站~ Go 做一個 Discord 的機器人(一)

資料來源

W3C - Output
https://www.w3schools.com/go/go_output.php


上一篇
Day22-[第二十一站 : Go 陣列的迷途森林]<GOO~
下一篇
Day24-[第二十三站 : Go 做一個 Discord 的機器人(一)]<GOO~
系列文
關於我轉生變成 Go 初學者的這檔事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言